#include <iostream>
using namespace std;

string ans;

bool CheckZero() {
  int num = 0, f = 1, res = 0;

  // cout << ans << endl;
  for (int i = 0; i < ans.size(); i++) {
    if (ans[i] >= '0' && ans[i] <= '9') {
      num = num * 10 + ans[i] - '0';
    } else if (ans[i] == '+' || ans[i] == '-') {
      res += f * num;
      num = 0;
      if (ans[i] == '+') {
        f = 1;
      } else {
        f = -1;
      }
    }
  }
  return res + f * num == 0;
}

void DFS(int now, int n) {
  if (now > n) {
    if (CheckZero()) {
      cout << ans << "\n";
    }
    return;
  }
  ans[now * 2 - 3] = ' ';
  DFS(now + 1, n);
  ans[now * 2 - 3] = '+';
  DFS(now + 1, n);
  ans[now * 2 - 3] = '-';
  DFS(now + 1, n);
}

int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  int n;
  cin >> n;
  ans.resize(2 * n - 1);
  for (int i = 1; i <= n; i++) {
    ans[i * 2 - 2] = i + '0';
  }
  DFS(2, n);
  return 0;
}